/**
 * bus
 * https://blog.csdn.net/zxz_learn/article/details/118609391
 */
import Vue from 'vue'

const bus = new Vue()

Vue.prototype.$bus = bus;

export default bus;

// EventBus
// 创建一个中央时间总线类  
class Bus {  
  constructor() {  
    this.callbacks = {};   // 存放事件的名字  
  }  
  $on(name, fn) {  
    this.callbacks[name] = this.callbacks[name] || [];  
    this.callbacks[name].push(fn);  
  }  
  $emit(name, args) {  
    if (this.callbacks[name]) {  
      this.callbacks[name].forEach((cb) => cb(args));  
    }  
  }  
} 

// 定义全局变量
// Object.assign(Vue.prototype, {
//   $bus: new Bus() // 将$bus挂载到vue实例的原型上  
// });